Skip to content

chore(release): v1.0.1 — minimal install + sidebar contrast (#556)#566

Merged
MartinCastroAlvarez merged 2 commits into
mainfrom
chore/release-v1.0.1
May 28, 2026
Merged

chore(release): v1.0.1 — minimal install + sidebar contrast (#556)#566
MartinCastroAlvarez merged 2 commits into
mainfrom
chore/release-v1.0.1

Conversation

@MartinCastroAlvarez
Copy link
Copy Markdown
Owner

What

v1.0.1 polish release — same wire surface and behaviour as 1.0.0, three quality-of-life fixes for the first run experience.

Changes

  1. One-line INSTALLED_APPSdjango_admin_rest_api no longer needs its own entry. The API mounts entirely through the URL include in django_admin_react.urls, since the API ships zero models + zero signals + zero migrations, so its AppConfig is decorative. The README and test settings both reflect the new minimal snippet:
    INSTALLED_APPS = [
        # …
        "django.contrib.admin",
        "django_admin_react",   # ← ONLY this. Transitive deps resolve at URL-include time.
    ]
  2. __version__ reads from installed metadataimportlib.metadata.version("django-admin-react") instead of a hardcoded constant, so import django_admin_react; django_admin_react.__version__ always matches the wheel. The 1.0.0 wheel reported 0.0.0 because the constant was never bumped post-bootstrap.
  3. Sidebar contrast bumped (Sidebar: top divider missing above first section + search-field bg too close to the sidebar bg #556) — first-section top divider + filter-input both moved one step lighter than the gray-900 sidebar surface. The pilot reported the divider was invisible and the search box "hard to spot at a glance"; this gives the same two-step contrast the rest of the inputs in the app have.

Pyproject

  • version = "0.2.0a8""1.0.1" (only patch — no API, schema, or behaviour change since 1.0.0).
  • Development Status :: 4 - Beta retained.

Closes

Test plan

  • Backend: `scripts/test.sh` — 45 passed (covers the new minimal-INSTALLED_APPS snippet via tests/test_project/settings.py).
  • Frontend: `pnpm -w build` — clean (~263 kB JS, 28 kB CSS).
  • TypeScript: `tsc --noEmit` on `@dar/web` — clean.
  • Smoke: `pip install dist/django_admin_react-1.0.1-py3-none-any.whl` in a clean venv, then `python -c 'import django_admin_react; print(django_admin_react.version)'` → `1.0.1` (not `0.0.0`).

Publish plan

🤖 Generated with Claude Code

martin-castro-laminr-ai and others added 2 commits May 28, 2026 16:28
Owner directive 2026-05-28: the plug-and-play should be a SINGLE
`INSTALLED_APPS` line — `django_admin_react` — and have it
transparently bring the JSON API along. `django_admin_react.urls`
already includes `django_admin_rest_api.api.urls` at `api/v1/`, so the
URL include is sufficient; the API package's AppConfig adds nothing the
include needs (the API ships zero models + zero signals). Verified
against a fresh venv: `GET /admin-react/api/v1/registry/ → 403` (the
gate runs as expected) with only `django_admin_react` registered.

## Changes
- `README.md`: drop the `django_admin_rest_api` line from the install
  snippet; lead with "one INSTALLED_APPS line + one URL include."
- `tests/test_project/settings.py`: align the test fixture with the
  README's recommended pattern (only `django_admin_react`). Full
  backend suite still **45 passed**.
- `django_admin_react/__init__.py`: stop hardcoding `__version__ =
  "0.0.0"` (a placeholder from before any release); read the version
  from the installed distribution metadata via `importlib.metadata`,
  so the constant tracks `pyproject.toml` automatically every release.
  Replace the stale "skeleton" docstring with the real super-layer
  blurb + cross-links to the sibling packages.
- `pyproject.toml`: bump `1.0.0` → `1.0.1`.

## Release path
After this merges, tag `v1.0.1` + cut the GitHub Release. If OIDC is
still unconfigured (issue #564), the manual fallback is the same
`set -a; . ./.env; set +a; poetry build && poetry publish` flow that
shipped `1.0.0`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The first-section top divider and the model-filter input both used
`bg-gray-800` / `border-gray-800` against a `bg-gray-900` sidebar —
one step of contrast, which the pilot reported as "no visible divider"
and "search box hard to spot."

- Divider strength: `border-t border-gray-800` + `divide-y divide-gray-800`
  → `border-gray-700` / `divide-gray-700`. Two steps off the sidebar
  surface — the line is now actually visible.
- Filter input: `bg-gray-800 border-gray-700` → `bg-gray-700 border-gray-600`,
  placeholder `text-gray-500` → `text-gray-400`. Matches the contrast
  level the rest of the app's inputs have.

Same fix in dark mode — the sidebar is always dark; there's no light-mode
variant. Bundles into the v1.0.1 wheel.

Closes #556.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@MartinCastroAlvarez MartinCastroAlvarez merged commit 52580cf into main May 28, 2026
5 checks passed
@MartinCastroAlvarez MartinCastroAlvarez deleted the chore/release-v1.0.1 branch May 28, 2026 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants